The Goal Question Metric Approach
1. Introduction
ソフトウェア開発ではフィードバックと評価のために測定の仕組みが必要
測定は、企業に記録を残し、ソフトウェア開発のプロセスの制定に関する種々の質問に回答するための支援を行う仕組み
効果的な測定には
特定のゴールに焦点を当てる
全てのライフサイクルの製品、プロセス、資源に適用
組織のコンテキスト、環境、および目標の特性と理解に基づいて解釈
すなわち、測定はトップダウンで定義される必要
ソフトウェア開発では観測可能な特性がたくさんあるため
2. THE GOAL QUESTION METRIC APPROACH
測定する組織にとって、最初に組織自身とプロジェクトの目標を定め、ゴールをデータまで突き詰めなければならず、最終的にデータを解釈する枠組みを提供する
組織が持つ情報のニーズを明らかにする必要
GQM アプローチの適応の結果は、測定データを解釈するための特定の課題とルールを対象とした測定システムの仕様
導かれる測定モデルは 3 つのレベルを持つ (GQM モデルは階層構造)
1. Conceptual level (Goal) : 目標物に対して決められる。 例えば製品に対してであれば 「プログラム」 だったり、資源に対してであれば 「オフィス空間」 だったり
ゴール : 測定の目的、対象物、課題、誰目線か、を指定するもの
2. Operational level (Question)
ゴールを洗練させて複数の質問に分解
3. Quantitative level (Metric)
質問を洗練させたものがメトリクス。 複数の質問に紐づくこともある
客観的 (Objective) と主観的 (Subjective) なものに分けられる
3. THE GOAL QUESTION METRIC PROCESS
ゴールの設定は重要
ゴールは、対象物と課題と誰目線か、という 3 軸と目的
そのため、3 つの情報源を基にする
組織のポリシーと戦略 : ここから課題と目的を引き出す
組織のプロセスと生産物 : ここから対象物を決める
プロセスのモデルが必要
組織のモデル : ここから誰目線にするかを引き出す
質問は、少なくとも 3 つのグループが考えられる
1. ゴール全体に関わる対象物をどのように特徴づけられるか?
例 : 今の変更要求が処理される速さは?
2. 課題に関わる対象物の属性をどのように特徴づけられるか?
例 : 変更要求が処理される実際の時間と見積り時間の偏差は?
3. 課題に関わる対象物の特徴をどう評価するか?
例 : プロジェクトマネジャーの目線で、今のパフォーマンスは満足いくものか?
TBD